#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDockWidget>
#include "graphicsscene.h"
#include "FigureContainer.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    void createToolBar();
    void createDockWidget_selectFigure();
    void createDockWidget_selectAction();

public slots:
    void slotSave();
    void slotOpen();
    void slotDrawMode();
    void slotSelectMode();
    void slotActionMode(int numSelectedFigures);
    void slotClear();
    void slotShiftMode();
    void slotRotationMode();
    void slotExtensionMode();
    void slotShiftPress();
    void slotShiftRelease();

private:
    Ui::MainWindow *ui;
    QDockWidget* dockWidget_selectFigure;
    QDockWidget* dockWidget_selectAction;
    QDockWidget* dockWidget_rotationMode;
    QDockWidget* dockWidget_extensionMode;
    GraphicsScene *scene;

    bool drowModeFlag = true;
    bool selectModeFlag = false;
    bool actionModeFlag = false;

    bool shiftModeFlag = false;
    bool rotationModeFlag = true;
    bool extensionModeFlag = false;
};

#endif // MAINWINDOW_H
